﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using RESTAgent.Maze;
using Tavis.Formatters;
using Tavis.Interfaces;

namespace Maze {
    public class MazeSemanticsProvider : ISemanticsProvider{
        public void RegisterSemantics(ISemanticsRegistry semantics) {
			semantics.RegisterLinkType<NorthLink>("north");
			semantics.RegisterLinkType<SouthLink>("south");
			semantics.RegisterLinkType<EastLink>("east");
			semantics.RegisterLinkType<WestLink>("west");
			semantics.RegisterLinkType<StartLink>("start");
			semantics.RegisterLinkType<CurrentLink>("current");
			semantics.RegisterLinkType<ExitLink>("exit");
			
			semantics.RegisterFormatter(new XmlFormatter("application/vnd.amundsen.maze+xml"));
			semantics.RegisterLinkExtractor(new MazeLinkExtractor());
        }
    }
}
